package com.example.myapplication.fragmentdemo

import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.example.myapplication.R

class MainActivity : AppCompatActivity(), ListFragment.OnItemSelectedListener {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContentView(R.layout.activity_main3)

        /**
         * 为 null 时，表示 Activity 是首次创建;
         * 不为 null 时，表示 Activity 不是首次创建，即返回栈中存在前一个Activity实例
         */
        if (savedInstanceState == null) {
            // 加载ListFragment
            supportFragmentManager.beginTransaction()
                .add(R.id.fragment_container, ListFragment())
                .commit()
        }
    }

    override fun onItemSelected(itemId: Int) {
        // 创建详情Fragment实例
        val detailFragment = DetailFragment()

        // 执行Fragment事务，替换当前容器中的Fragment，并添加到返回栈以便返回列表页
        supportFragmentManager.beginTransaction()
            .replace(R.id.fragment_container, detailFragment)
            .addToBackStack(null) // 添加到返回栈，参数为null表示不使用名称标识
            .commit()
    }
}